package String_;

/*
*1、当通过等号的形式创建字符串时（String string1 = "abc";  //字面量）， 字符串是存放在常量池里面的。
*2、每当有不同的字符串产生时，不会改变现有的，而是去常量池里面，创建新的，再将地址赋值给字符串变量
* （ String string2 = "abc";
*    String s3 = "abc";
*    s3 = s3 + "def";  //不会改变string2的值。
*  ）
* 3、不管怎么样，String类型的字符串都是不变的。想要改变字符串，只能去常量池里面创建新的
* */
public class StringTest {
    public static void main(String[] args) {
        String string1 = "abc";  //字面量
        String string2 = "abc";
        System.out.println(string1==string2);
        string1 = "hello";
        System.out.println(string1);
        System.out.println(string2);
        String s3 = "abc";
        s3 = s3 + "def";  //不会改变string2的值。
        System.out.println(s3);

        //本质上 this.value = new char[0];
        String str = new String();
        //本质上 this.value = original.value;
        String str1 = new String("abc");
        //本质上 this.value = Arrays.copyof(value,value.length)
//        String str2 = new String(char [] a);



    }

}
